热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

面试|这些PHP重点知识你都会吗

session跨域共享如何实现?分布式应用共享问题如何解决?缓存系统有4个常用的分别是?他们的差别?消息队列的实现方式有哪些

  1. session 跨域共享如何实现?分布式应用共享问题如何解决?

  2. 缓存系统 有4个常用的分别是?他们的差别?

  3. 消息队列 的实现方式有哪些?

  4. nginx负载均衡 怎么实现?

A. nginx负载均衡的类别有哪些?
B. nginx与apache的区别?

  1. mysql读写分离 怎么实现?

  2. 如何进行mysql性能调优?

A. 如何开启慢日志?
B. 如何进行SQL调优?
C. 哪些语句不支持索引?

  1. swoole 有哪些通信方式?

  2. 网站安全防护 有哪些?

  3. 设计模式 有哪些?

==============重点来啦===========

说下你了解的session和COOKIE

COOKIE保存在客户端,session保存在服务器上
session的实现,需要在客户机的COOKIE上创建sesssionId进行关联

如何修改SESSION的生存时间

其实 Session 还提供了一个函数 session_set_COOKIE_params(); 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用

// 保存一天
$lifeTime = 24 * 3600;
session_set_COOKIE_params($lifeTime);
session_start();
$_SESSION["admin"] = true;

session在分布式应用中的共享问题

nginx的负载方式采用:ip_hash(根据ip分配后端服务器)
将session值存入(数据库、redis、memcache),使用session_id进行关联查询。
将session值DES加密存入COOKIE中,当B服务器发现没有session,就会去检查COOKIE是否存在

session跨域共享问题

就是把session和COOKIE的domain设置为“主域”即可。可以调用一下代码解决

session_set_COOKIE_params(1800 , '/', '.mydomain.com');


推荐阅读
author-avatar
tomorrow
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有